import { nextTick } from 'vue';
import OSS from "ali-oss";
// import { getSsoUrl } from '@/api/api'

export function scorllBottom(ref) {
	try {
		nextTick(() => {
			ref.scrollTo({
				top: ref.scrollHeight,
				behavior: 'smooth',
			});
		});
	} catch (e) {}
}

export function colorHextoRGB(val) {
	let color = val;
	var t = {},
		bits = color.length == 4 ? 4 : 8, //假设是shorthand。 #fff, 那么bits为4位, 每一位代表的个属性, 其他的为8位 每两位代表一个属性 #ffffff00
		mask = (1 << bits) - 1; //表示字节占位符。 向左移4位或8位，var a = (1 << 4 ) - 1 -> 10000 - 1,  a.toString(2); // 1111。或者 8位的 1111 1111
	color = Number('0x' + color.substr(1)); //#ff0000 转变为16进制0xff0000;
	if (isNaN(color)) {
		return null; // Color
	}
	['b', 'g', 'r'].forEach(function (x) {
		var c = color & mask;
		color >>= bits;
		t[x] = bits == 4 ? 17 * c : c; // 0xfff ， 一个f应该代表 255, 应该当[0-255]，按15等份划分，每一等份间隔 17。 所以获得的值须要乘以17, 才干表示rgb中255的值
	});
	// 这里的a可以自己给值，0-1,给1就是直接rgb颜色值了，给小数就是rgba的颜色值了
	t.a = 0.1;
	// console.log('t', t);
	const rgba = 'rgba(' + t.r + ',' + t.g + ',' + t.b + ',' + t.a + ')';
	return rgba; // Color
}
let ossClient;
export const ossSystem = [
    {
        endPoint: "oss-cn-shanghai.aliyuncs.com",
        region: "oss-cn-shanghai",
        bucket: "siyu-dq",
        secure: false,
    },
];
export const ossIndex = 0;
//获取oss临时上传
async function getOSSUrl() {
    await getSsoUrl({}).then((res: any) => {
        if (res.code == 200) {
			let ossData = res.data;
            ossClient = new OSS({
                endPoint: ossData.endPoint,
				region: ossData.region, // 为存储空间对应的地域域名，根据你的实际情况填写，如https://oss-cn-hangzhou.aliyuncs.com
				accessKeyId: ossData.accessKeyId, //  你的阿里云accessKeyId
				accessKeySecret: ossData.accessKeySecret, //  临时token  accessKeySecret: credentials.accessKeySecret,  //  你的阿里云accessKeySecret
				stsToken: ossData.securityToken,
				bucket: ossData.bucket, //  oss存储桶的名称
				secure: ossData.secure, //http是false，https是true
            });
        }
    })
}
export const downloadFile = async (file, filename) => {
    await getOSSUrl();
    let url = ossClient.signatureUrl(file, {
        response: {
            'content-disposition': 'attachment; filename="' + filename + '"'
        },
        expires: 3600
    })
    window.open(url)
}